﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MLoboSTI.Truco;

namespace TestesTruco
{
    [TestClass]
    public class TesteTrucoCartas
    {
        [TestMethod]
        public void TestarCriarCarta()
        {
            Naipe naipe = Naipe.OUROS;
            ValorCarta valorCarta = ValorCarta.AS;
            Carta carta = new Carta(naipe, valorCarta);
            Assert.AreEqual(carta, new Carta(Naipe.OUROS, ValorCarta.AS));            
        }

        [TestMethod]
        public void TestarNaipe()
        {            
            Naipe ouros = Naipe.OUROS;
            Assert.AreEqual(ouros, Naipe.OUROS);
            Assert.AreNotEqual(ouros, Naipe.COPAS);

            Naipe[] naipes = Naipe.ObterTodosNaipes();
            Assert.AreEqual(4, naipes.Length);
            for (int i = 0; i < Naipe.ObterTodosNaipes().Length; i++)            
                Assert.AreEqual(naipes[i], Naipe.ObterTodosNaipes()[i]);            
        }

        [TestMethod]
        public void TestarValorCarta()
        {
            ValorCarta ace = ValorCarta.AS;
            Assert.AreEqual(ace, ValorCarta.AS);
            Assert.AreNotEqual(ace, ValorCarta.DOIS);

            ValorCarta[] valoresCartas = ValorCarta.ObterTodasAsCartas();
            Assert.AreEqual(13, valoresCartas.Length);

            for (int i = 0; i < valoresCartas.Length; i++)            
                Assert.AreEqual(valoresCartas[i], ValorCarta.ObterTodasAsCartas()[i]);            
        }
    }
}
